\documentclass{beamer}

\usepackage[francais]{babel}
\usepackage{rtxslides}
\usepackage{tikz}
\usetikzlibrary{shapes,fit}

\title{\rtx\ -- Technical Assessment Final 4}
\date{21 juillet 2011}
\author{Louis Opter \\ \texttt{<louis@lse.epitech.eu>}}

\definecolor{lightred}{RGB}{147,36,33}
\tikzset{componentarrow/.style={<-, >=latex, color=rathaxesred, ultra thick}}

\newcommand{\cemph}[1]{{\itshape\LARGE{\textcolor{rathaxesred}{#1}}}}

\begin{document}

\begin{frame}
\titlepage
\end{frame}

\begin{frame}
\rmfamily{\itshape{«~\rtx\ est un \textcolor{rathaxesred}{langage dédié} qui
permet de \textcolor{rathaxesred}{décrire des pilotes} de périphériques. \rtx\
compile vers des modules noyaux écrits en C pour \textcolor{rathaxesred}{Linux},
\textcolor{rathaxesred}{Windows} et \textcolor{rathaxesred}{OpenBSD}.~»}}
\end{frame}

% We could a graph using the commit stats in linux:
\begin{frame}{Développement de pilotes}
\begin{center}
\only<1>{
\Large{Une tâche \cemph{difficile}, \cemph{longue} et \cemph{fastidieuse} :}}
\only<2>{\Large{%
\begin{itemize}
\item Compétences requises ;
\item Portabilité ;
\item Maintenance.
\end{itemize}
}}
\end{center}
\end{frame}

\begin{frame}{Objectifs de Rathaxes}
\begin{center}
\only<1>{\Large{\cemph{\LARGE{Simplifier}} les cycles de développement}}
\only<2>{\Large{\begin{itemize}
\item Abstraction de la plateforme ;
\item Vérifications statiques ;
\item \cemph{\Huge{séparer les compétences.}}
\end{itemize}}}
\end{center}
\end{frame}

\begin{frame}{Séparation des compétences}

\begin{center}
\only<1>{\LARGE\itshape{{Deux domaines de compétences :}}}

\only<2>{\begin{tikzpicture}
\draw (-4, 1.5) node[above, text width=2cm, text centered, rotate=45]{\small{Développeur de pilotes}} ;
\draw (-4, -1) node[below]{\includegraphics[width=2cm]{logos/nvidia_white}} ;
\draw (-4, 0) node[below]{\includegraphics[width=2cm]{logos/intel}} ;
\draw (-4, 0.5) node[below]{\includegraphics[width=2cm]{logos/broadcom_white}} ;
\draw (-4, -3) node{\ldots} ;

\draw (0, 1.5) node[above, text width=2cm, text centered, rotate=45]{\textcolor{black}{\small{Développeur Rathaxes}}} ;

\draw (4, 1.5) node[above, text width=2cm, text centered, rotate=45]{\textcolor{black}{\small{Développeur systèmes}}} ;
\fill[black] (4, 0) circle(1.13) ; % hidden placeholder to make the right overflow
\end{tikzpicture}}

\only<3>{\begin{tikzpicture}
\draw (-4, 1.5) node[above, text width=2cm, text centered, rotate=45]{\small{Développeur de pilotes}} ;
\draw (-4, -1) node[below]{\includegraphics[width=2cm]{logos/nvidia_white}} ;
\draw (-4, 0) node[below]{\includegraphics[width=2cm]{logos/intel}} ;
\draw (-4, 0.5) node[below]{\includegraphics[width=2cm]{logos/broadcom_white}} ;
\draw (-4, -3) node{\ldots} ;

\draw (0, 1.5) node[above, text width=2cm, text centered, rotate=45]{\textcolor{black}{\small{Développeur Rathaxes}}} ;
%\draw (-0.5, 0.5) node[below]{\includegraphics[width=2cm]{logo_latex}} ;

\draw (4, 1.5) node[above, text width=2cm, text centered, rotate=45]{\small{Développeur systèmes}} ;
\draw (4, 0.5) node[below]{\includegraphics[width=2cm]{logos/tux}} ;
\draw (4, 0) node[above]{\includegraphics[width=2cm]{logos/windows_7_white}} ;
\draw (4, -3) node{\ldots} ;
\end{tikzpicture}}
\end{center}

% Note: I just discovered that beamer support columns inside frame, I'll give
% it a try next time…

\transdissolve<2>
\transdissolve<3>
\end{frame}

\begin{frame}{Langage}
\transblindshorizontal

\begin{center}
\only<1>{%
\tikzset{textbox/.style={draw, ultra thick, color=rathaxesred, minimum width=2.5cm, minimum height=4cm, rectangle, rathaxesred, rounded corners=3pt, fill=lightred}}
\begin{tikzpicture}
%\draw (-4, 1.5) node[above, text width=2cm, text centered, rotate=45]{\small{Développeur de pilotes}} ;
\node[textbox] (frontend) at (-4, 1.5) {\textcolor{white}{Front-end}} ;
\draw (-4, -1) node (title) {\cemph{Rathaxes}} ;

%\draw (0, 1.5) node[above, text width=2cm, text centered, rotate=45]{\textcolor{black}{\small{Développeur Rathaxes}}} ;
%\node[textbox] (middleend) at (0, 1.5) {\textcolor{white}{Middle-end}} ;

%\draw (4, 1.5) node[above, text width=2cm, text centered, rotate=45]{\textcolor{black}{\small{Développeur systèmes}}} ;
\node[textbox] (backend) at (4, 1.5) {\textcolor{white}{Back-end}} ;
\node[draw] (box) [ultra thick, dashed, color=rathaxesred, rounded corners=3pt, fit = (frontend) (backend) (title)] {} ;
\end{tikzpicture}}

\only<2>{%
\tikzset{textbox/.style={draw, ultra thick, color=rathaxesred, minimum width=2.5cm, minimum height=4cm, rectangle, rathaxesred, rounded corners=3pt, fill=lightred}}
\begin{tikzpicture}
%\draw (-4, 1.5) node[above, text width=2cm, text centered, rotate=45]{\small{Développeur de pilotes}} ;
\node[textbox] (frontend) at (-4, 1.5) {\textcolor{white}{Front-end}} ;
\draw (-4, -1) node (title) {\cemph{Rathaxes}} ;

%\draw (0, 1.5) node[above, text width=2cm, text centered, rotate=45]{\textcolor{black}{\small{Développeur Rathaxes}}} ;
\node[textbox] (middleend) at (0, 1.5) {\textcolor{white}{Middle-end}} ;

%\draw (4, 1.5) node[above, text width=2cm, text centered, rotate=45]{\textcolor{black}{\small{Développeur systèmes}}} ;
\node[textbox] (backend) at (4, 1.5) {\textcolor{white}{Back-end}} ;
\node[draw] (box) [ultra thick, dashed, color=rathaxesred, rounded corners=3pt, fit = (frontend) (middleend) (backend) (title)] {} ;
\end{tikzpicture}}

\only<3>{%
\tikzset{textbox/.style={draw, ultra thick, color=rathaxesred, minimum width=2.5cm, minimum height=4cm, rectangle, rathaxesred, rounded corners=3pt, fill=lightred}}
\tikzset{disabledbox/.style={draw, ultra thick, color=rathaxesred, minimum width=2.5cm, minimum height=4cm, rectangle, rathaxesred, rounded corners=3pt, fill=lightred, opacity=0.3}}
\begin{tikzpicture}
%\draw (-4, 1.5) node[above, text width=2cm, text centered, rotate=45]{\small{Développeur de pilotes}} ;
\node[textbox] (frontend) at (-4, 1.5) {\textcolor{white}{Front-end}} ;
\draw (-4, -1) node (title) {\cemph{Rathaxes}} ;

%\draw (0, 1.5) node[above, text width=2cm, text centered, rotate=45]{\textcolor{black}{\small{Développeur Rathaxes}}} ;
\node[disabledbox] (middleend) at (0, 1.5) {\textcolor{white}{Middle-end}} ;

%\draw (4, 1.5) node[above, text width=2cm, text centered, rotate=45]{\textcolor{black}{\small{Développeur systèmes}}} ;
\node[disabledbox] (backend) at (4, 1.5) {\textcolor{white}{Back-end}} ;
\node[draw] (box) [ultra thick, dashed, color=rathaxesred, rounded corners=3pt, fit = (frontend) (middleend) (backend) (title)] {} ;
\end{tikzpicture}}
\end{center}
\end{frame}

\begin{frame}{Merci}
\begin{center}
\Huge{\emph{Questions ?}}
\end{center}

\vspace{2em}
\begin{itemize}
\item \Large{\texttt{http://www.rathaxes.org/}}
\end{itemize}
\end{frame}

\end{document}
